The present invention relates to circuits for filtering signals, and more particularly to a dense-tap transversal filter.
The theory of discrete-time filters is well known. See, for example, R. W. Hamming, “Digital Filters,” Dover Publications, Inc., 3rd edition, 1989. In transversal structures, such as the conventional Finite Impulse Response (FIR) filter shown at reference numeral 10 in FIG. 1A, successive samples in time of the input signal to be filtered are converted to binary numbers by an analog-to-digital converter (ADC) 14 after passing through a sample-and-hold (S/H) circuit 12, stored in memory 16 and retrieved by a digital signal processor (DSP) 18 that multiplies the samples by coefficients appropriate to the filtering operation of interest and sums the products to effect the desired filter response.
Filters of this general type have several properties, requirements and limitations. The sampling rate must be at least twice the bandwidth of the input signal. Therefore, input signals must first be band-limited and/or down-converted in frequency to make them amenable to low-cost, low-power ADCs for use in handheld, cost-sensitive consumer applications. The accuracy of the filter response depends upon the precision of the both the ADC 14 and the coefficients. An ADC producing 12-bit samples at 65-Msps (mega-samples per second) costs over $20 even in large quantities. This is cost prohibitive for consumer applications such as mobile phones and television set-top boxes.
FIG. 1B illustrates an alternative representation 10′ for the operation of the prior-art FIR filter shown in FIG. 1A. In this representation, the continuous time input signal is sampled at successive sample times by the S/H circuit 12 and the ADC 14 produces digitized sample values, x0, x1, x2 . . . xn, which are stored in digital memory shown at 16 in FIG. 1B. At each sample time, the stored digitized sample values are multiplied by corresponding coefficient values, b0, b1, b2 . . . bm. The products are summed to produce the digitized output value corresponding to that sample time. For example, at sample time t0, the result is represented as:
      y    0    =                    ∑                  i          =          0                n            ⁢                        x          i                ⨯                  b          i                      =                            x          0                ⁢                  b          0                    +                        x          1                ⁢                  b          1                    +                        x          2                ⁢                  b          2                    +      …      +                        x          n                ⁢                  b          n                    
After the calculation of y0, the “old” digitized sample values are shifted in time by one sample time by re-assignment; thus, x0→x1, x1→x2, x2→x3, . . . , xn-1→xn. The “old” digitized sample xn is discarded, a “new” digitized sample value, x0, is added, and a new digitized output value corresponding to the new sample time is produced by again summing the products of the “new” digitized sample values xi and the coefficients bi. Considerable sampling, analog-to-digital conversion, digital storage and digital processing resources are required to implement the signal processing depicted in FIG. 1B. Further, if a continuous-time output signal is required, an additional digital-to-analog conversion must be performed to convert the digitized output values into analog form.
The filter coefficients comprise binary numbers of 16-bits to 32-bits. The DSP that performs the multiply-accumulate operations central to transversal digital filter operation may be required to operate at rates as high as several hundred MHz on stored binary numbers represented by as many as 32-bits. The binary numbers can themselves require considerable amounts of temporary storage in addition to the program memory for the DSP. Again, the cost of such high-speed circuits and memory may exceed what can be born by many cost-sensitive applications.